# 1.判断一个输入的数字是否是质数。

'''
质数的条件：
1、能且仅能被1和自身整除的整数。
2、1不是质数。
3、2是质数。

思路：①：去除特殊的选项
      ②：对剩余的循环取余，判断其中取余的结果有没有为0 的。
'''
num1 = int(input("请您输入一个整数："))

# 首先先写出两种特殊情况。if-elif-else语句。
if num1 == 1:
    print("整数1不是质数。")
elif num1 == 2:
    print("整数2是质数。")

# 针对剩余的用num1来对一个循环递增的量取余。
else:
    for i in range(2 , num1):

# 对取余的结果进行判断，如果对某个值取余的值为0，说明输入的这个整数不是质数。
        if num1 % i == 0:
            print("您输入的整数不是质数。")
            break

# 当增量超过约束范围而没有执行到if下的语句块的时候，说明num1在此范围内没有约数，所以就是质数。
    else:
        print("您输入的整数是质数。")

# 2、打印出所有三位数中的水仙花数。

'''
水仙花数：如果一个三位数字的百位的三次方加上十位的三次方再加上个位的三次方等于这个数字本身，那么
这个数字就是水仙花数。

思路：①：输入一个三位整数，拿出他的各位数字。
      ②：判断这三个数字的三次方相加是不是等于这个数字本身。
'''
s = 0
for num2 in range(100 , 1000):
    a = num2 // 100
    b = num2 % 10
    c = num2 % 100 // 10
    if (a ** 3 + b ** 3 + c ** 3) == num2:
        print(num2)
        s += 1
print("这样的三位水仙花数一共有%d个。" %(s))

# 3、打印九九乘法表

'''
九九乘法表：
1 * 1 = 1
2 * 1 = 2   2 * 2 = 4
…………………………………………

思路：循环嵌套
      ①：定义两个嵌套的循环递增的变量,需要注意的是内部的变量的取值。
      ②：循环相乘，输出结果。
'''
m = 1
while m <10:
    for n in range(1 , m + 1):
        q = m * n
        print("%d * %d = %d" %(n , m ,q) ,end ="\t")
    print("\n")
    m += 1

# 4、输入两个数，求这两个数的最大公约数。

'''
最大公约数：两个整数的所有质数约数的乘积。

思路：①：首先输入两个数字。
      ②：求出两个整数的质数约数。
'''

n1 = int(input("请您输入第一个整数："))
n2 = int(input("请您输入第二个整数："))
n3 = 1
t = 2
while t <= min(n1 , n2):
    if n1 % t == 0 and n2 % t == 0:
        n3 *= t
        n1 /= t
        n2 /= t

# 要注意什么时候才让t的值向上增加。
    else:
        t += 1
print(n3)

# 5、输入一个字符串，将字符串中的大写字母转小写，小写字母转大写。

'''
大小写的互相转化可以利用已有的函数来写。
不用已有函数可以使用字符串拼接的方法来完成。
'''
#使用已有函数。
str1 =input("请输入需要转换的英文字符串：")
str2 = str1.swapcase()
print(str2)

#使用字符串拼接。
str3 = input("请输入需要转换的英文字符串：")
list1 = range(65 , 91)
list2 = range(97 ,123)
for x in range(0 , len(str3)):
    if ord(str3[x]) in list1:
        h = list1.index(ord(str3[x]))
#这是对str3这个变量重新赋值，而不是更改了字符串本身。----字符串不可变是指字符串本身不能更改。
        str3 = str3[: x] + chr(list2[h]) + str3[x + 1 :]
    else:
        z = list2.index(ord(str3[x]))
        str3 = str3[: x] + chr(list1[z]) + str3[x + 1 :]
print(str3)